qutebrowser WebEngineElements
WebEngineElements
类是 qutebrowser 中用于表示 QtWebEngine 中网页元素的集合的类。它继承自 AbstractElements
类,使用 JavaScript 实现了网页元素的查找和操作。
主要方法包括:
find_css
:根据 CSS 选择器查找元素。find_id
:根据 ID 查找元素。find_focused
:查找当前聚焦的元素。find_at_pos
:查找给定位置的元素。
私有方法,包括:
_js_cb_multiple
_js_cb_single
- 用于处理从 JavaScript 中返回的元素信息。
Usage
该类作为 WebEngineTab 的 elements 属性。在 WebEngineTab 中的用处有:
- AbstractTabPrivate 的 handle_auto_insert_mode 方法中,调用:
self._tab.elements.find_focused(_auto_insert_mode_cb)
-
作为 AbstractTab 类的 elements 属性(类型为 AbstractElements)
-
在 AbstractTab 的
_set_widget
方法中,将 widget(QWebEngineView)传入 Elements 类中 -
在 HintManager 的 start 方法中,通过该类来查找 CSS:
self._context.tab.elements.find_css(
selector,
callback=self._start_cb,
error_cb=lambda err: message.error(str(err)),
only_visible=True)
- WebEngineTab 的
__init__
方法中创建实例:
self.elements = WebEngineElements(tab=self)
- 在 misccommands.py 中创建了一些指令:
- insert_text:在当前位置插入文本
_wrap_find_at_pos
- click_element:点击元素
本文作者:Maeiee
本文链接:qutebrowser WebEngineElements
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!